Introduction
I will start this wall of text by saying Elco, _mdma, and Geo (i believe) are amazing at what they have created with BrewPi and continue to develop for free. Brewers are great in that they share nearly everything, and these three are no different. This post is in no means being created in an effort to hurt their sales at their BrewPi store(http://www.brewpi.com) and the PCB's they have created, if your willing to spend the extra $$ you can get most of the hard circuitry done for you. But all of this as you know comes with a price, and a pre-built BrewPi from them can cost a good amount of money. I hope this post brings BrewPi more press, and can get more people using it because I do honestly think it is the most accurate method of fermentation control available to a homebrewer. It is also nice because all of this data is stored on your BrewPi system, so in 9 months you make your same Oktoberfest and your last one was amazing, you can just pull up your old graph and recreate your exact temperature profile. This is a post for how to piece together a basic relay driven circuit using an Arduino and a RPi for max $100 (If you use a old PC (or a VirtualBox install) instead of an RPI to host the web server it can be done for the same cost as a STC-1000 Build ($30ish) ) in such a way that it will interface with the amazing BrewPi software running on a RaspPi(or PC w/ Debian) that gives you graphs like above. And to give you the precision of this because of its advanced dynamic PID algorithms, you can see over the 4 hours of this sample brew with the set point at 65F my temperature rarely moved .1F off of the set point. For those not familiar with PID, you can think of it as "self learning" software. A very simple explanation is that it learns and adjusts its internal variables to match your system, it learns that in your setup if your requested beer temp is set to 65f and right now its at 67F that it needs to get your beer to 65.3F and then turn off because your chamber's residual cold air will bring it down that extra .3F. This results in very accurate temperatures without huge overshooting or undershooting you may experience with other temperature controllers. It also results in less cycling of your cooling/heating elements and therefore more power savings and less wear and tear on your fridge/freezer. If you look at the picture below you can see this in action, the blue and red bars along the bottom of the graph represent when the fridge is cooling and heating respectively. You can see it only chills for a few minutes, and before the beer even really begins cooling it already turns off because it knows the ambient cold air will bring it down to where it needs to be as it slowly drifts back towards 65F and below where the heater kicks on. Or this zoomed in snippet of the same brew during nearly 24 hours of constant temperature ramping, again almost rarely reaching .1F over its set point, in most cases its .05F-.07F. Ignore the front panel showing 65.05C, its because they are Euro and BrewPi defaults to C, but I have it swapped to Fahrenheit in the settings but there are a few GUI bugs like that still that don't swap properly...no biggie doesn't effect the operation. And hopefully for only about $100, or less depending on which route you take which will be explained below. This assumes you have the basics, like a soldering iron and some way to strip wires. So lets move on to the Parts list page to see what we will need to build this thing.